/**
 * 
 * 广州锐鹏计算机科技有限公司（www.ruipengkj.com）
 * 
 * 
 * Copyright (c) 2011-2012 RUIPENGKJ.Co.Ltd. All rights reserved.
 * 
 * */
package com.ruipengkj.model;
/**
 * 说明：
 * 商品管理model
 * @Author：黄盛强
 * @Date：2012-03-20
 */
import java.util.List;
import java.util.Vector;

import javax.swing.table.AbstractTableModel;

import com.ruipengkj.ApplicationContext;
import com.ruipengkj.bean.TCommodity;

public class DataCommodityModel extends AbstractTableModel{

	private static final long serialVersionUID = 1L;
	private Vector<List<Object>> rowdatas=new Vector<List<Object>>();
	private Vector<String> columns = new Vector<String>();
	public DataCommodityModel(){
		columns.add("商品编号");
		columns.add("条形码");
		columns.add("商品名称");
		columns.add("价格");
		columns.add("现价");
		columns.add("批发价");
		columns.add("折扣率");
		columns.add("库存量");
		columns.add("商品计量单位");
		columns.add("产地");
		columns.add("颜色");
		columns.add("批次");
		columns.add("有效期");
		columns.add("有效期单位");
		columns.add("助记码");
		columns.add("产品规格");
		columns.add("销量");
		columns.add("创建时间");
		columns.add("最后修改时间");
		columns.add("点击率");
		columns.add("状态");
		columns.add("类型");
		columns.add("附送积分");
		columns.add("商品描述");
		columns.add("商品详细信息");
		columns.add("好评度");
		columns.add("总评价数");
		columns.add("总评分数");
	}
	//获得行数
	public int getRowCount(){
		return rowdatas.size();
	}
	//获得列数
	public int getColumnCount(){
		return columns.size();
	}
	//获得单元格的值
	public Object getValueAt(int row,int column){
		
		return ((Vector<?>)rowdatas.get(row)).get(column);
	}
	//获取列名
	public String getColumnName(int column){
		return (String)columns.get(column);
	}
	
	//获取列对应的类型
	@SuppressWarnings("unchecked")
	public Class getColumnClass(int column){
		if (column == 3 || column == 4 || column == 5 || column == 6 
				|| column == 7 || column == 16 || column == 19 || column == 22 || column == 25// || column == 26
				 //column == 12
				)
			return Double.class;
		return super.getColumnClass(column);
//		return column == (columns.size()-1) ? ImageIcon.class : Object.class;
	}
	//设置单元格是否可编辑
	public boolean isCellEditable(int rowIndex,int columnIndex){
		return false;
	}
	
	public void removeData(int row){
		rowdatas.remove(row);
	}
	
	
	
	//设置单元格的值
	@Override
	public void setValueAt(Object aValue,int rowIndex,int columnIndex){
		//取出对应的记录
		Vector<Object> rowdata = (Vector)rowdatas.get(rowIndex);
		//删除原来的值
		rowdata.remove(columnIndex);
		//添加用户新修改的值
		rowdata.add(columnIndex,aValue);
	}


	public void setRowData(List<TCommodity> tCommodityList) {
		rowdatas.clear();
		if(tCommodityList!=null&&tCommodityList.size()!=0){
			for(int i=0;i<tCommodityList.size();i++){
				TCommodity tCommodity=tCommodityList.get(i);
				List<Object> row=new Vector<Object>();
				row.add(tCommodity.getCommodityID()+"");//商品编号
				row.add(tCommodity.getBarcode()+"");//条形码
				row.add(tCommodity.getName()+"");//商品名称
				row.add(tCommodity.getPrice());//价格
				row.add(tCommodity.getDiscountPrice());//现价
				row.add(tCommodity.getBatchPrice());//批发价
				row.add(tCommodity.getDisCount());//折扣率
//				int number=0;
//				Set<TStock> set=tCommodity.getTStocks();
//				if(set!=null&set.size()!=0){
//					Iterator<TStock> it=set.iterator();
//					while(it.hasNext()){
//						TStock stock=it.next();
//						number=number+stock.getNum();
//					}
//				}
//				row.add(number);//库存量
				row.add(ApplicationContext.stockTotalNum(tCommodity.getCommodityID(), null));
				
				row.add("  "+tCommodity.getUnit()+"  ");//商品计量单位
				row.add(tCommodity.getMadePlace()+"");//产地
				row.add(" "+tCommodity.getColor()+" ");//颜色
				if (tCommodity.getBatch() != null)
					row.add(tCommodity.getBatch());//批次
				else 
					row.add("");
				row.add(" "+tCommodity.getValidity()+" ");//有效期9
				row.add("  "+ApplicationContext.VALIDITY_MAP().get(tCommodity.getValidityUnit())+"  ");//有效期单位
				row.add(tCommodity.getMemCode());//助记码
				row.add("  "+tCommodity.getStd()+"  ");//产品规格
				row.add(tCommodity.getSaleCount());//销售
				row.add(tCommodity.getCreateTime());//创建时间
				row.add(tCommodity.getUpdateTime());//最后修改时间
				row.add(tCommodity.getClickCount());//点击率
				//状态
				if(tCommodity.getStatus()==ApplicationContext.COMMODITY_STATUS_YES){
					row.add("已发布");//1为已发布 2为未发布
				}else{
					row.add("未发布");//1为已发布 2为未发布
				}
				row.add(ApplicationContext.COMMODITY_TYPE_MAP().get(tCommodity.getType()));//类型--
				row.add(tCommodity.getPoint());//附送积分
				row.add("  "+tCommodity.getDes()+"  ");//商品描述
				row.add("   "+tCommodity.getDetail()+"   ");//商品详细信息
				row.add(tCommodity.getScore());//好评度
				row.add("  "+tCommodity.getCommentCount()+"  ");//总评价数
				row.add("  "+tCommodity.getScoreCount()+"  ");//总评分数
				rowdatas.add(row);
			}
		}
	}
	
	public void clear(){
		rowdatas.clear();
	}
}